Multiuser detection method and device

ABSTRACT

Method of detecting a plurality of symbols (d k (i)) transmitted by or for a plurality K of users, each symbol belonging to a modulation constellation and being the subject of a spectral spreading before being modulated on a plurality L of carriers, the said method comprising a step of demodulation ( 420 ) and a step of spectral despreading ( 430 ) of the received signal (r(i)) in order to supply a vector (y 2 (i), {tilde over (y)} 2 (i)) characteristic of the said signal, and a step ( 450 ) of searching, within an array of points (Λ 2 ,Ω 2 ) generated by the symbols of the said modulation constellations, for at least the closest neighbor of the said vector.

[0001] The present invention concerns a multiuser detection method anddevice. More particularly, the present invention concerns a maximumlikelihood multiuser detection method and device for an MC-CDMA(Multi-Carrier Code Division Multiple Access) telecommunication system.

[0002] Multicarrier Code Division Multiple Access (MC-CDMA) combinesOFDM (Orthogonal Frequency Division Multiplex) modulation and the CDMAmultiple access technique. This multiple access technique was proposedfor the first time by N. Yee et al. in an article entitle “MulticarrierCDMA in indoor wireless radio arrays” which appeared in Proceedings ofPIMRC '93, Vol. 1, pages 109-113, 1993. The developments of thistechnique were reviewed by S. Hara et al. in the article entitled“Overview of multicarrier CDMA” published in IEEE CommunicationMagazine, pages 126-133, Dec. 1997.

[0003] Unlike the DS-CDMA (Direct Sequence Code Division MultipleAccess) method in which the signal of each user is multiplied in thetime domain in order to spread its frequency spectrum, the signaturehere multiplies the signal in the frequency domain, each element of thissignature multiplying the signal of a different sub-carrier.

[0004] More precisely, FIG. 1 depicts the structure of an MC-CDMAtransmitter for a given user k. Let d_(k)(i) be the ith symbol to betransmitted from the user k, where d_(k)(i) belongs to the modulationalphabet. The symbol d_(k)(i) is first of all multiplied at 110 by aspread sequence or signature of the user, denoted c_(k)(t), consistingof N_(c) “chips”, each “chip” being of duration T_(c), the totalduration of the spread sequence corresponding to a symbol period T. Theresults of the multiplication of the symbol d_(k)(i) by the different“chips” are converted by the serial to parallel converter 120 into ablock of L symbols, where L is in general a multiple of N_(c). It willbe considered, for reasons of simplification of presentation, thatL=N_(c). The block of L symbols is then subject to an inverse FFT in themodule 130 in order to be transmitted to the parallel to serialconverter 140. In order to prevent inter-symbol interference, a guardtime, with a length greater than the duration of the pulse response ofthe transmission channel, is added to the MC-CDMA symbol. This guardtime is obtained by the addition (not shown) of a suffix chosen so as tobe identical to the start of the said symbol. The symbol thus obtainedis amplified at 150 before being transmitted over the channel of theuser. It can therefore be seen that the MC-CDMA method can be analysedas a spread in the spectral domain (before IFFT) followed by an OFDMmodulation.

[0005] In practice, the user k transmits his data in the form of framesof N symbols, each symbol d_(k)(l) being spread by a real signaturec_(k)(t) with a duration equal to the symbol period T, such thatc_(k)(t)=0 if t∉[0,T]. The signal modulated at time t=i.T+n.T_(c) canthen be written, if the guard times between the MC-CDMA symbols areomitted: $\begin{matrix}{{S_{k}(t)} = {\sum\limits_{i = 0}^{N - 1}\quad {\sum\limits_{n = 0}^{L - 1}\quad {a_{k} \cdot {d_{k}(i)} \cdot {c_{k}\left( {n \cdot T_{c}} \right)} \cdot {\exp \left( {{j \cdot 2}\pi \quad {n/N_{c}}} \right)}}}}} & (1)\end{matrix}$

[0006] where a_(k) is the amplitude of the signal transmitted by theuser k.

[0007] If the case is now taken of a base station transmitting symbolsto K users, the resulting modulated signal can be expressed simply as:$\begin{matrix}{{S(t)} = {\sum\limits_{k = 1}^{K}{\sum\limits_{i = 0}^{N - 1}\quad {\sum\limits_{n = 0}^{N_{i} - 1}\quad {a_{k} \cdot {d_{k}(i)} \cdot c_{kn} \cdot {\exp \left( {{j \cdot 2}\pi \quad {n/N_{c}}} \right)}}}}}} & (2)\end{matrix}$

[0008] where c_(kn)=c_(k)(n.T_(c)) has been noted.

[0009] An MC-CDMA receiver for a given user k has been illustratedschematically in FIG. 2.

[0010] The demodulated received signal is sampled at the “chip”frequency and the samples belonging to the guard time are eliminated(elimination not shown). The signal obtained can be written:$\begin{matrix}{{R(t)} = {{\sum\limits_{k = 1}^{K}{\sum\limits_{i = 0}^{N - 1}\quad {\sum\limits_{n = 0}^{L - 1}\quad {a_{k} \cdot {d_{k}(i)} \cdot c_{kn} \cdot {h_{kn}(i)} \cdot {\exp \left( {{j \cdot 2}\pi \quad {n/N_{c}}} \right)}}}}} + {\eta (t)}}} & (3)\end{matrix}$

[0011] where h_(kn)(i) represents the response of the channel of theuser k at the frequency of the sub-carrier n of the MC-CDMA symboltransmitted at time i.T and η(t) is the noise received.

[0012] The samples thus obtained are put in parallel in a serial toparallel converter 210 before undergoing an FFT in the module 220. Thesamples in the frequency domain, output from 220, are equalised anddespread by the signature of the user k. To do this, the samples of thefrequency domain are multiplied by the coefficients q_(kn)(i).c*_(kn) inthe multipliers 2300 ₀, . . . , 230 _(Nc−1) and then added at 240 inorder to supply an output symbol {circumflex over (d)}_(k)(i).

[0013] Different possibilities of equalisation have been envisaged inthe state of the art, including notably the MRC (Maximium RatioCombining) combination defined by the user of the coefficientsq_(kn)(i)=h*_(kn)(i) or .* is the conjugation operation.

[0014] The receiver illustrated in FIG. 2 makes it possible to decodeonly the data of a single user k. However, it is often advantageous todecode data transmitted for all of the K users, in order to estimate andeliminate the interference between the different transmission channels.The techniques of multiuser detection and conjoint detection have alsobeen envisaged for the MC-CDMA method. For example, the article by S.Kaiser et al. entitled “Multi-carrier CDMA with iterative decoding andsoft-interference cancellation” published in GLOBECOM '97 at pages 6-10,1997, proposes a method of conjoint detection with parallel eliminationof the interference (PIC standing for Parallel InterferenceCancellation). However, this detection technique does not necessarilyprovide the optimum solution in terms of maximum likelihood. Inaddition, the direct application of a maximum likelihood detectiontechnique to a multiuser context would result in prohibitive complexity.

[0015] The aim of the present invention is to propose a multiuserdetection method and device in the context of an MC-CDMA transmissionwhich does not have the drawbacks of the above mentioned techniques.

[0016] To this end, the present invention is defined by a method ofdetecting a plurality of symbols (d_(k)(i)) transmitted by or for aplurality K of users, each symbol belonging to a modulationconstellation and being the subject of a spectral spreading before beingmodulated on a plurality L of carriers, the said method comprising astep of demodulation and a step of spectral despreading of the receivedsignal (r(i)) in order to supply a vector (y(i), {tilde over(y)}(i),y₂(i), {tilde over (y)}₂(i)) characteristic of the said signal,the said method also comprising a step of searching, within the array ofpoints (Λ,Ω,Λ₂,Ω₂) generated by the symbols of the said modulationconstellations, for at least the closest neighbour of the said vector.

[0017] Advantageously, the said search step is limited to a set ofpoints in the array belonging to a predetermined zone around thereceived vector.

[0018] Alternatively, the said search step is limited to a set of pointsin the array belonging to a predetermined zone around the origin of thesaid array.

[0019] The said predetermined zone will preferably be determined by asphere.

[0020] If the transmitted symbols have been spectrally spread by meansof sequences with real values, the said complex vector can be decomposedinto a first vector with real components and a second vector with realcomponents. The said search step then consists of determining theclosest neighbour to the said first vector and the said second vectorwithin an array (Λ,Ω) of points with real coordinates of dimension K Inthe general case, the said complex vector being considered to be avector with real components of size 2.K, the said search step consistsof determining the closest neighbour within an array (Λ₂,Ω₂) of pointswith real coordinates of dimension 2.K The search step is advantageouslyeffected on a plurality of real components of the said complex vector,the search being limited for each of the said components to an intervaldefined by a lower delimiter and an upper delimiter, the said delimitersbeing chosen so that the said interval does not comprise points relatingto symbols which cannot belong to the modulation constellation.

[0021] According to one embodiment of the invention, the spectraldemodulation step is followed by a step of despreading and equalisationof the symbols obtained by demodulation of the signal received at thedifferent carriers, providing a vector (y(i), y₂(i)) of symbolsequalised for the different users.

[0022] Advantageously, the said characteristic vector ({tilde over(y)}(i), {tilde over (y)}₂(i)) is obtained from the vector of equalisedsymbols by means of a matrix processing aimed at substantiallydecorrelating the different noise components thereof.

[0023] According to a variant, the said search step is extended to thatof a set of points adjacent to the said characteristic vector and thetransmitted symbols are estimated in a flexible manner from symbolsgenerating the said adjacent points and distances separating the saidadjacent points to the received point.

[0024] The invention is also defined by a device for detecting aplurality of symbols (d_(k)(i)) transmitted by or for a plurality K ofusers, each symbol belonging to a modulation constellation and being thesubject of a spectral spreading before being modulated on a plurality Lof carriers, the device comprising means for implementing the methoddisclosed above.

[0025] Such a detection device can be used in an MC-CDMA mobiletelecommunication system.

[0026] The characteristics of the invention mentioned above, as well asothers, will emerge more clearly from a reading of the followingdescription given in relation to the accompanying figures, amongstwhich:

[0027]FIG. 1 depicts schematically the structure of a known MC-CDMAtransmitter of the state of the art;

[0028]FIG. 2 depicts schematically the structure of a single-userMC-CDMA receiver;

[0029]FIG. 3 depicts an array of points useful to the detection methodaccording to the invention;

[0030]FIG. 4 depicts schematically the structure of a multiuser MC-CDMAreceiver according to one embodiment of the invention.

[0031] The idea at the basis of the invention is to effect an MC-CDMAmultiuser detection by a representation by means of an array of points.

[0032] Consider once again an MC-CDMA telecommunication system andconsider also a signal received at time i on the L differentsub-carriers of the OFDM signal. It will be assumed once again that thenumber of sub-carriers is equal to the spread factor. Let r(i) (r₁(i), .. . , r_(L)(i)) be the vector of the signals received on the differentsub-carriers and d(i)=(d₁(i), . . . , d_(K)(i)) be the vector of the Ksymbols transmitted at time i. C, the matrix of the K spread sequencesof length L, can be written: $C = \begin{bmatrix}{C\quad 11} & \cdots & {C\quad 1L} \\\vdots & \quad & \vdots \\{{CK}\quad 1} & \cdots & {CKL}\end{bmatrix}$

[0033] If the case is taken of the downlink, a single transmissionchannel is to be taken into account. It will be assumed that the channelis non-selective with respect to frequency on each sub-carrier l and isdisturbed by a white additive Gaussian noise. The transfer function ofthe channel at time i can be represented by L complex coefficientsh_(l)(i), l=1, . . . , L. These coefficients are grouped together in thediagonal matrix H=Diag(h₁(i), . . . , h_(L)(i)). Equation (3) giving thereceived signal is expressed in matrix form:

r(i)=d(i)AC(i)H(i)+η(i)  (4)

[0034] where η(i)=(η₁(i), . . . , η_(L)(i)) is the white additiveGaussian noise vector and A the diagonal matrix Diag(a₁, . . . ,a_(K))formed by the amplitudes for the different users.

[0035] In the uplink, the signal coming from each user passes through adifferent channel. It will be assumed as above that the channels arenon-selective with respect to frequency on each sub-carrier l. Thespread and the channel effect can then be combined in a matrix C_(U)(i): ${C_{U}(i)} = \begin{bmatrix}{c_{11}{h_{11}(i)}} & \cdots & {c_{1L}{h_{1L}(i)}} \\\vdots & \quad & \vdots \\{c_{K\quad 1}{h_{K\quad 1}(i)}} & \cdots & {c_{KL}{h_{KL}(i)}}\end{bmatrix}$

[0036] Should all the users be received synchronously, the receivedsignal can then be written:

r(i)=d(i)AC _(U)(i)+η(i)  (5)

[0037] The symbol transmitted is sought in the sense of the maximumlikelihood, that is to say the vector d(i) of the K symbols transmittedsuch that the mean square deviation:

D ²(d)=∥r(i)−d(i)AC _(U)(i)∥²  (6)

[0038] is at a minimum.

[0039] In an equivalent manner the expression:

D _(R) ²(d)=∥d(i)AC _(U)(i)∥²−2Re<d(i)AC _(U)(i);r(i)>  (7)

[0040] can be minimised, and the scalar product can also be written:$\begin{matrix}{{{\langle{{{d(i)}{{ACu}(i)}};{r(i)}}\rangle} = {{\sum\limits_{l = 1}^{K}\quad {\sum\limits_{k = 1}^{K}\quad {a_{k}d_{k}*(i)c_{kl}*(i)h_{kl}*(i){r_{l}(i)}}}} = {{\sum\limits_{k = 1}^{K}\quad {a_{k}d_{k}*(i){\sum\limits_{l = 1}^{L}\quad {c_{kl}*(i)h_{kl}*(i){n(i)}}}}} = {\sum\limits_{k = 1}^{K}\quad {a_{k}d_{k}*(i){y_{k}(i)}}}}}}\text{where:}\quad \text{}{{y_{k}(i)}\overset{\Delta}{=}{\sum\limits_{l = 1}^{L}\quad {c_{kl}*(i)h_{kl}*(i){r_{l}(i)}}}}} & (8)\end{matrix}$

[0041] has been defined.

[0042] The knowledge of the observation vector y(i)=(y₁(i), . . . ,y_(K)(i)) is sufficient to allow the detection in the sense of themaximum likelihood of the transmitted vector b(i). The observation y(i)can be written in matrix form from equation (8)

y(i)=r(i)C _(U) ^(H)(i)  (9)

[0043] where •^(H) designates the hermitian transpose.

[0044] For a downlink, a similar definition can be used, except that thematrix C can be factorised into a channel matrix and a spread matrix:

y(i)₌ ^(Δ) r(i)C _(D) ^(H)(i) with C_(D)(i)=C(i)H(i)  (10)

[0045] It should be noted that expression (8), or equivalently (9) or(10), is none other than a filtering operation adapted to the signatureand channel relating to each user k. It can be considered to be an MRC(Maximum Ratio Combining) combination of the different symbols received.

[0046] Alternatively, whilst keeping the spectral despreading, it ispossible to use an equalisation method other than MRC combination. Thus,instead of the coefficients h_(kl)*(i) in equation (9), the coefficients${q_{k,l}(i)} = \frac{h_{kl}*(i)}{{h_{kl}(i)}}$

[0047] (Equal Gain Combining) or${q_{k,l}(i)} = \frac{h_{kl}*(i)}{{{h_{kl}(i)}}^{2}}$

[0048] (Orthogonality Restoration Combining) can be employed. However,for reasons of simplification of presentation it will be assumedhereinafter that q_(k,l)(i)=h_(kl)*(i).

[0049] Replacing expression (5) in (9), the expression of theobservation vector y(i) is obtained as a function of the vector of thetransmitted symbols d(i) for the uplink:

y(i)=d(i)AC _(U)(i)C _(U) ^(H)(i)+n(i) or y(i)=d(i)M(i)+n(i)  (11)

with M(i)=AC _(U)(i)C _(U) ^(H)(i)  (12)

[0050] Naturally, expression (11) also applies to the downlink providedthat:

M(i)=AC _(D)(i)C _(D) ^(H)(i)  (13)

[0051] is taken.

[0052] It will be demonstrated below that y(i) as given by equation (11)can be seen as a point in an array Λ₂ of dimension 2K, with a complexgenerator matrix M(i)=AC_(U)(i)C_(U) ^(H)(i) corrupted by a noisen(i)=((i), . . . , n_(K)(i)) such that: $\begin{matrix}{{n_{k}(i)} = {\sum\limits_{l = 1}^{L}\quad {c_{kl}*(i)h_{kl}*(i){\eta_{l}(i)}}}} & (14)\end{matrix}$

[0053] The term real array of points A of dimension K will be applied toany set of vectors of R^(K) satisfying:

[0054] x=b₁v₁+b₂v₂+ . . . +b_(K)v_(K) whereby b_(i)εZ, ∀i=1, . . . , K

[0055] where {v₁,v₂, . . . , V_(K)} is a base on R^(K).

[0056] The points of the array form an additive Abelian sub-group ofR^(K), which is moreover the smallest sub-group of R^(K) containing thevectors {v₁, v₂, . . . , V_(K)} and a Z-modulus of R^(K). These basevectors form the lines of the generator matrix G of the array. It istherefore possible to write x=bG where

b=(b₁, . . . , b_(K))εZ_(K). (15)

[0057] The region delimited by the base vectors is referred to as afundamental parallelotope and its volume, denoted vol(Λ) or det(Λ), isreferred to as the fundamental volume. This fundamental volume is noneother than the modulus of the vector product of the K base vectors andis therefore equal to |det(G)| where det designates the determinant.Though there are several possible choices for the generator matrix ofthe same array, there is on the other hand only one value for thefundamental volume.

[0058] The Voronol region V or Dirichlet cell of a point x belonging tothe array is the set of points of R^(K) closer to x than any other pointin the array. The volume of this region is equal to the fundamentalvolume.

[0059] The stacking radius ρ of the array is the radius of the largestsphere fitting in the Voronoi region and the radius of coverage is thatof the smallest sphere circumscribed in this same region. The radius ofstacking is therefore the radius of the spheres whose stack constitutesthe array of points and the radius of overlap is that of the smallestspheres which, centred on the points of the array, make it possible tocover the entire space R^(K). The density of the array is the ratiobetween the volume of the sphere of radius ρ and the fundamental volume.Finally, the coefficient of error (the kissing number) τ(Λ) of the arrayis the number of spheres tangent with the same sphere in the stack or,in other words, the number of neighbours of a point in the array,situated at the minimum distance d_(Emin=)2ρ.

[0060] The term complex array of points (or array on C) of dimension Kwill be given to any set of vectors x such that x=bG whereb=b^(R)+j.b^(i) with b^(R), b^(i)εZ^(K) and where G is a matrix withcomplex coefficients of rank K As will be shown, an array of dimension Kon C can be seen as a real array of dimension 2K on R.

[0061] The vectors y(i), d(i), n(i) and the matrix M(i) appearing inequation (11) are of the complex component type. Equation (11) can alsobe written in the equivalent real form:

y ₂(i)=d2(i)M ₂(i)+n ₂(i) (16)

[0062] with:

[0063] y₂(i)=(y₁ ^(R)(i), y₁ ^(I)(i), . . . ,y_(K) ^(R)(i)y_(K) _(I)(i))where y_(k) ^(R)(i), y_(k) ^(I)(i) are respectively the real part andthe imaginary part of the symbol y_(k)(i);

[0064] d₂(i)=(d₁ ^(R)(i)d₁ ^(I)(i), . . . d_(k) ^(R)(i), d_(K) ^(I)(i))where d_(k) ^(R)(i)d_(k) ^(I)(i) are respectively the real part and theimaginary part of the symbol dk(i);

[0065] n₂(i)=(n₁ ^(R)(i), n₁ ^(I)(i), . . . , n_(K) ^(R)(i)n_(K)^(I)(i)) where n_(k) ^(R)(i), n_(k) ^(I)(i) are respectively the realpart and the imaginary part of n_(k)(i); and where M₂ is the matrix2K×2K defined by: $\begin{matrix}{M_{2} = \begin{bmatrix}M_{11}^{R} & M_{11}^{I} & \cdots & M_{1K}^{R} & M_{1K}^{I} \\{- M_{11}^{I}} & M_{11}^{R} & \cdots & {- M_{1K}^{I}} & M_{1K}^{R} \\\vdots & \vdots & \quad & \vdots & \vdots \\M_{K\quad 1}^{R} & M_{K\quad 1}^{I} & \cdots & M_{KK}^{R} & M_{KK}^{I} \\{- M_{K\quad 1}^{I}} & M_{K\quad 1}^{R} & \cdots & {- M_{KK}^{I}} & M_{KK}^{R}\end{bmatrix}} & (17)\end{matrix}$

[0066] with M_(lk)=M_(lk) ^(R)+jM_(lk) ^(I) where the index i has beenomitted in order to simplify the notations.

[0067] The components of the vector d₂(i) belong to a finite alphabet ofcardinal A. For example, the components d_(k) ^(R)(i) and d_(k) ^(I)(i)can be PAM modulation symbols of order M. In this case,

d _(k) ^(R)(i)ε{−M+1,−M+3, . . . , M−3, . . . M−1} and  (18)

d _(k) ^(I)(i)ε{−M+1,−M+3, . . . , M−3,M−1}  (19)

[0068] If the transformation:

[0069] d′_(k) ^(R)=½(d_(k) ^(R)(i)+M−1) and d′_(k) ^(I)(i)=½(d_(k)^(I)(i)+M−1) is effected, then, vectorially:

d′ ₂=½(d ₂(i)+v_(M))  (20)

[0070] where v_(M)=(M−1, M−1, . . . , M−1) the components d′_(k) ^(R)(i)and d′_(k) ^(I)(i) are elements of Z and consequently d′₂(i) is a vectorof Z^(2K).

[0071] In general terms, the invention can be applied to any finitealphabet of symbols such that there is an affine transformationtransforming the components dkR(i) and d_(k) ^(I)(i) into elements of Z.

[0072] Similarly, the corresponding transformation is effected on y₂(i),that is to say: $\begin{matrix}{{y_{2}^{\prime}(i)} = {\frac{1}{2}\left( {{y_{2}(i)} + {v_{M}M_{2}}} \right)}} & (21)\end{matrix}$

[0073] By means of this transformation, which will be assumed to beimplicit hereinafter, the vector d₂(i)M₂(l) then belongs to an array ofpoints A₂ as defined by equation (15) with G=M₂(i). The vector y₂(i) cantherefore be considered to be a point in the array A₂ corrupted by anoise n₂(i).

[0074] If it is assumed that the components of the noise vector n₂(i)are independent random centred Gaussian variables, the problem of thedetection in the sense of the maximum likelihood of the symbolstransmitted by the different users can be represented as the search forthe point Z₂ in the array Λ₂ such that its distance to y₂(i) is at aminimum.

[0075] In reality, the result of the expression (14) is that the noisecomponents are correlated since, if the real vector of the receivednoise corresponding to the complex vector η is denoted η₂, if the matrixobtained from C_(U) according to the transformation given at (17) isdenoted C_(U2), and if the autocorrelation matrix of the noise vectorn₂(i) is denoted R₂:

R ₂ =E(n ₂ ^(T) n ₂)=E(C _(U2)·₂ ^(T)·₂ C _(U2) ^(T))=C _(U2) E(·₂^(T)·₂)C _(U2) ^(T) =N _(0.) C _(U2) C _(U2)  (22)

[0076] for the uplink,

R ₂ =E(n ₂ ^(T) n ₂)=E(C _(D2)·₂ ^(T)·₂ C _(D2) ^(T))=C _(D2) E(·₂^(T)·₂)C _(D2) ^(T) =N _(0.) C _(D2) C _(D2) ^(T)  (23)

[0077] for the downlink.

[0078] In order to go back to the decorrelated case, an operation ofwhitening the noise is performed prior to the decoding.

[0079] The autocorrelation matrix R₂ is symmetrical defined positive andcan therefore be the subject of a Cholesky factorisation:

R₂=W₂W₂ ^(T)  (24)

[0080] where W₂ is an inferior triangular matrix of size 2K×2K.

[0081] A whitened observation vector:

{tilde over (y)} ₂(i)=y ₂(i)W ₂ ^(T−1)  (25)

[0082] is defined as well as a new array of points Ω₂ consisting of thevectors of components ({tilde over (x)}₁ ^(R), {tilde over (x)}₁ ^(I), .. . , {tilde over (x)}_(K) ^(R)(i ), {tilde over (x)}_(K) ^(I)(i)) with{tilde over (x)}₂(i)=x₂(i))W₂ ^(T−1) where x₂(i) is a vector ofcomponents (x₁ ^(R)(i), x₁ ^(I)(i), . . . ,x_(K) ^(R)(i), x_(K) ^(I)(i))belonging to Λ₂.

[0083] It can easily be shown that, after whitening, the covariancematrix of the filtered noise n₂(i)W₂ ^(T−1) is equal to N₀I_(2K) whereI_(2K) is the identity matrix of dimension 2K. The decoding thencomprises a first step of whitening the observation vector followed by astep of seeking the closest neighbour in the array of points Ω₂.

[0084] It is important to note that equation (23) (downlink) issimplified when spread sequences at real values are used.

[0085] This is because, in this case, equation (13) can be written:

M(i)=AC _(D)(i)C _(D) ^(H)(i)=AC(i)H(i)H ^(H)(i)C ^(H)(i)=AC(i)|H(i)|² C^(H)(i)  (26)

[0086] where |H(i)|²=Diag(|h_(i)(i)|², . . . , |h_(L)(i)|²) is a realmatrix. Consequently the generator matrix M(i) of the array is itself areal matrix and it is possible to model the system by means of an arrayof real points A of dimension K and of generator matrix M(i):

y ^(R)(i)=d ^(R)(i)M(i)+n ^(R)(i)  (27)

y ^(I)(i)=d ^(I)(i)M(i)+n^(I)(i)  (28)

[0087] where y^(R)(i), d^(R)(i), n^(R)(i) (or respectively y^(I)(i),d^(I)(i), n^(I)(i)) are the vectors consisting of the real parts (orrespectively the imaginary parts) of the components of y(i), b(i), n(i).The observation vectors y^(R)(i) and y^(I)(i) belong to R^(K). It can beshown that the noise vectors n^(R) (i) and n^(I)(i) both have as theircovariance matrix R(i)=C_(D)(i)C_(D) ^(T)(i)N₀.

[0088] R(i) being a symmetrical matrix defined positive, it is possible,as above, to factorise it according to a Cholesky decomposition:R=WW^(T) where W is a lower triangular real matrix of size K×K. In orderto decorrelate the noise components, the real observation vectorsy^(R)(i) and y^(I)(i) are first of all subjected to a whiteningoperation:

{tilde over (y)} ^(R)(i)y ^(R)(i)WT ⁻¹  (29)

{tilde over (y)} ^(I)(i)y ^(I)(i)WT ⁻¹  (30)

[0089] Secondly, the closest neighbours of the vectors {tilde over(y)}^(R)(i) and {tilde over (y)}^(I)(i) belonging to the array of pointsΩ consisting of the vectors {tilde over (x)}(i)=x(i)W^(T−1) where x(i)belongs to Λ are sought. It can easily be shown that, after whitening,the covariance matrix of the filtered noises n^(R)(i)WT⁻¹ is equal toN₀I_(K) where I_(K) is the identity matrix of dimension K.

[0090] It can therefore be seen that, in the case of a downlink withreal signatures, the decoding method leads to a search for two closestneighbours in an array of dimension K whilst, in the general case, whichis complex, the decoding requires a search in an array of dimension 2K.

[0091]FIG. 3 illustrates schematically an array of points and the methodof seeking the closest neighbour of a whitened observation vector {tildeover (y)}₂ in an array of dimension 2K or, in the case of realsignatures, whitened observation vectors {tilde over (y)}^(R), {tildeover (y)}^(I) in an array of dimension K. These two cases will be dealtwith with the same formalism and the size of the array will be denotedhereinafter K.

[0092] In both cases the problem is to determine the point x on thearray closest to the received whitened vector {tilde over (y)}, and thisamounts to minimising the metric $\begin{matrix}{{m\left( {\overset{\sim}{y}/x} \right)} = {{\sum\limits_{i = 1}^{\kappa}{{{\overset{\sim}{y}}_{i} - x_{i}}}^{2}} = {{\overset{\sim}{y} - x}}^{2}}} & (31)\end{matrix}$

[0093] where {tilde over (y)}=x+η=(η₁, . . . , η_(κ)) the noise vectorand x=(x₁, . . . , x_(κ)) a point belonging to the array. The noisevector q has independent real components in accordance with a Gaussiandistribution of zero mean and variance ρ². Let R be the covariancematrix of the noise vector.

[0094] Alternatively, it will be noted that the vector y has no need tobe whitened if a metric is used based on the covariance matrix:

m(y/x)=(y−x)R ⁻¹(y−x)^(T)  (31′)

[0095] For reasons of simplification, the term y will be given to theobservation vector ({tilde over (y)}) whitened or not, and ∥·∥ to themetric acting in equation (31) or (31′).

[0096] The points on the array {x=bG} are obtained from vectors of datab=(b₁, . . . , b_(κ)) in which the components bi belong to the ring ofintegers Z. The lines of the matrix G are denoted {v₁,v₂, . . . ,v_(κ)}. By definition these vectors form a base of the array.

[0097] The set of symbols sent is limited to an alphabet of finite sizeA_(κ)⊂Z^(κ) referred to as a constellation. This constellation isdetermined by the modulation constellations used by (or for) the κ usersand the cardinal of the alphabet A_(κ)⊂Z^(κ) is the product of thecardinals of the different modulation alphabets. It will be assumed thatthe complex points of each of these constellations have real values andcomplex values evenly distributed.

[0098] An exhaustive decoding would require a search for the closestneighbour in the whole of A_(κ). The decoder advantageously restrictsits calculation to the points which are situated within a zone of theconstellation situated around the point received, preferably within asphere of given radius {square root}{square root over (C)} centred onthe received point as depicted in FIG. 3. Only the points on the arraysituated at a quadratic distance less than C from the point received aretherefore considered for the minimisation of the metric (31).

[0099] In practice, the decoder effects the following minimisation:$\begin{matrix}{{\min\limits_{x\varepsilon\Lambda}{{y - x}}} = {\min\limits_{{w\varepsilon y} - \Lambda}{w}}} & (32)\end{matrix}$

[0100] To do this, the decoder seeks the smallest vector w in thetranslated set y−Λ. The vectors y and w can be expressed as:

y=.G with .=(ρ₁, . . . , ρ_(κ))

w=.G with .=(ξ₁, . . . ξ_(κ))  (33)

[0101] It is important to note that ρ and ξ are real vectors. As w=y−xwhere x belongs to the array AS, this gives the equationξ_(i)=ρ_(i)−b_(i) for i=1, . . . , κ with$w = {\sum\limits_{i = 1}^{\kappa}{\xi_{i}v_{i}}}$

[0102] The vector w is a point on the array whose coordinates ξ_(i) areexpressed in the translated reference frame centred on the receivedpoint y. The vector w belongs to a sphere of quadratic radius C centredat 0 if:

∥W∥ ² =Q(ξ)=ξGG ^(T)ξ^(T) ≦C  (34)

[0103] In the new system of coordinates defined by ξ, the sphere ofquadratic radius C centred at y is therefore transformed into an ellipsecentred at the origin. The Cholesky factorisation of the Gram matrixΓ=GG^(T) gives Γ= . . . ^(T), where Δis a lower triangular matrix ofelements δ_(ij).

[0104] It should be noted that, if the vector y has been whitened, thereis no necessity to effect this factorisation since the generator matrixof Ω₂ (or respectively of Ω) is equal to AW₂ (or respectively AW) and istherefore already lower and triangular.

[0105] However, where the prior whitening has not been carried out andtherefore where the Cholesky decomposition is necessary: $\begin{matrix}{{Q(\xi)} = {{\xi \cdot \cdot^{T}\xi^{T}} = {{{{\cdot^{T}\xi^{T}}}}^{2} = {{\sum\limits_{i = 1}^{\kappa}\left( {{\delta_{ii}\xi_{i}} + {\sum\limits_{j = {i + 1}}^{\kappa}{\delta_{ji}\xi_{j}}}} \right)^{2}} \leq C}}}} & (35)\end{matrix}$

[0106] By putting $\begin{matrix}{q_{ii} = \delta_{ii}^{2}} & {{{{for}\quad i} = 1},\ldots \quad,\kappa} \\{q_{ij} = \frac{\delta_{ij}}{\delta jj}} & {{{{for}\quad j} = 1},\ldots \quad,{\kappa;{i = {j + 1}}},\ldots \quad,\kappa}\end{matrix}$

[0107] there is obtained $\begin{matrix}{{Q(\xi)} = {\sum\limits_{i = 1}^{\kappa}{q_{ii}\left( {\xi_{i} + {\sum\limits_{j = {i + 1}}^{\kappa}{q_{ji}\xi_{j}}}} \right)}^{2}}} & (36)\end{matrix}$

[0108] Dealing first of all with the range of possible variations ofξ^(κ), and then adding the components one by one, the following Kinequalities are obtained, which all define the points within theellipse: $\begin{matrix}{{{q_{\kappa\kappa}\xi_{\kappa}^{2}} \leq C}{{{q_{{\kappa - 1},{\kappa - 1}}\left( {\xi_{\kappa - 1} + {q_{\kappa,{\kappa - 1}}\xi_{\kappa}}} \right)}^{2} + {q_{\kappa\kappa}\xi_{\kappa}^{2}}} \leq C}{{\forall{l \in \left\{ {1;\kappa} \right\}}},{{\sum\limits_{i = l}^{\kappa}{q_{ii}\left( {\xi_{i} + {\sum\limits_{j = {i + 1}}^{\kappa}{q_{ji}\xi_{j}}}} \right)}^{2}} \leq C}}} & (37)\end{matrix}$

[0109] It can be shown that the inequalities (37) require the integercomponents b to satisfy: $\begin{matrix}{{\left\lceil {{- \sqrt{\frac{C}{q_{\kappa\kappa}}}} + \rho_{k}} \right\rceil \leq b_{\kappa} \leq \left\lfloor {\sqrt{\frac{C}{q_{\kappa\kappa}}} + \rho_{\kappa}} \right\rfloor}{\left\lceil {{- \sqrt{\frac{C - {q_{\kappa\kappa}\xi_{\kappa}^{2}}}{q_{{k - 1},{k - 1}}}}} + \rho_{k - 1} + {q_{\kappa,{\kappa - 1}}\xi_{k}}} \right\rceil \leq b_{\kappa - 1} \leq \left\lfloor {{- \sqrt{\frac{C - {q_{\kappa\kappa}\xi_{\kappa}^{2}}}{q_{{\kappa - 1},{\kappa - 1}}}}} + \rho_{\kappa - 1} + {q_{\kappa,{\kappa - 1}}\xi_{\kappa}}} \right\rfloor}{\left\lceil {{- \sqrt{\frac{1}{q_{ii}}\left( {C - {\sum\limits_{l = {i + 1}}^{\kappa}{q_{ll}\left( {\xi_{l} + {\sum\limits_{j = {i + 1}}^{\kappa}{q_{jl}\xi_{j}}}} \right)}^{2}}} \right)}} + \rho_{i} + {\sum\limits_{j = {i + 1}}^{\kappa}{q_{ji}\xi_{j}}}} \right\rceil \leq b_{i}}{b_{i} \leq \left\lfloor {\sqrt{\frac{1}{q_{ii}}\left( {C - {\sum\limits_{l = {i + 1}}^{\kappa}{q_{ll}\left( {\xi_{l} + {\sum\limits_{j = {l + 1}}^{\kappa}{q_{jl}\xi_{k}}}} \right)}^{2}}} \right)} + \rho_{i} + {\sum\limits_{j = {i + 1}}^{\kappa}{q_{ji}\xi_{j}}}} \right\rfloor}} & (38)\end{matrix}$

[0110] where ┌x┐ is the smallest integer greater than the real x and └x┘is the largest integer less than the real x.

[0111] The decoder has κ internal counters, namely one counter perdimension, each counter counting between a lower and upper delimiter asindicated at (38), it being understood that, with each counter, there isassociated a particular pair of delimiters. In practice, thesedelimiters can be updated recursively.

[0112] Advantageously, all the values of the vector b for which thecorresponding point in the array x=bG is situated below the quadraticdistance C of the point received are listed. The points on the arraysituated outside the sphere in question are not tested. It can thereforebe seen that the decoding complexity does not depend on the size of theconstellation of the array.

[0113] In addition, the search within the sphere can be considerablyaccelerated by updating the radius {square root}{square root over (C)}with the last calculated Euclidian norm ∥w∥. Finally, there is selected,as the best point x, the one associated with the smallest norm ∥w∥.

[0114] The search radius {square root}{square root over (C)} must bechosen in an appropriate manner. This is because the number of points inthe array situated within the decoding sphere increases with C. This iswhy the choice of a large value of C is to the detriment of the decodingalgorithm since the search sphere can be empty if C is too low.

[0115] So as to be sure that the decoder finds at least one point on thearray, a radius of search greater than the radius of cover of the arrayis advantageously chosen. It can for example be taken to be equal to theupper Rogers band: $\begin{matrix}{\sqrt{C^{\kappa}} = {\left( {{\kappa \quad \log \quad \kappa} + {\kappa \quad \log \quad \log \quad \kappa} + {5\quad \kappa}} \right) \times \frac{{\det (G)}}{V_{\kappa}}}} & (39)\end{matrix}$

[0116] where V_(κ) is the volume of a sphere of unity radius in the realspace RK.

[0117] It should be noted that the decoder operates on an array ofpoints rather than on a modulation constellation. When the constellationemployed on a dimension is a PAM constellation of order M, the integercoordinates of the point must be between 0 and M−1. Rather than testingonce a point found, if this point does indeed belong to theconstellation, the search limits of (38) can be adjusted so that theyremain between 0 and M−1. There will thus be an assurance that all thepoints found are in the constellation and that the counters do notunnecessarily run through points which, in any event, do not belong tothe constellation. This preselection makes it possible to considerablyaccelerate the decoding algorithm.

[0118]FIG. 4 illustrates schematically the structure of a multiuserdetection device according to one embodiment of the invention. Thesignal received is first of all sampled at the “chip” frequency and thesamples are put in parallel by a serial to parallel converter. Thevectors of L samples obtained are transformed at 420 by an FFT in thetime delay. The L time samples are transmitted to a battery of K filters430 ₁, . . . , 430 _(K) adapted to the signature and to the transmissionchannel of each user. These adapted filters make it possible to obtainthe complex vector y(i) according to equation (9) or (10) according tothe case of an uplink or downlink. The components of y(i) undergo aspectral whitening at 440 in order to decorrelate the noise samples. Thewhitened vector, {tilde over (y)}(i), possibly after transformation ofthe type given at (21) (not shown), is the subject of a maximumlikelihood decoding at 450 by seeking the point on the array Λ₂ closestto the end of the vector {tilde over (y)}(i). The output of the decodingmodule 450 (possibly after transformation which is the reverse of theabovementioned one, not shown) is a vector {circumflex over (d)}(i)whose components are the estimated symbols transmitted by the differentusers. In the context of a downlink using real signatures, the module450 effects two searches for the closest neighbour in an array of pointsΛ of dimension K, as seen above.

[0119] Instead of supplying the estimated constellation symbols, thereceiver can be adapted to supply flexible symbols. In this case, thesearch inside the decoding sphere is no longer limited to the closestneighbour but is extended to a plurality of the closest neighbours ofthe point relating to the received signal.

[0120] More precisely, an a posteriori probability p^(m) is associatedwith each adjacent point m=1, . . . , m_(max), a probability that thevector d^(m)(i) defined by this point has been sent, given theobservation y(i). A flexible symbol of a user k is defined as theM_(k)-tuplet (π₁, . . . , π_(Mk)) where M_(k) is the cardinal of themodulation constellation of the user k and where π_(j) is theprobability that the symbol s_(j) has been sent. This gives:$\begin{matrix}{\pi_{j} = {{p\left( {s_{j}/y} \right)} = {\sum\limits_{m = 1}^{m_{\max}}{{p\left( {s_{j}/d^{m}} \right)} \cdot p^{m}}}}} & (40)\end{matrix}$

[0121] The a posteriori probabilities p^(m) can for example be expressedby:$p^{m} = \frac{e^{- \lambda_{m}^{2}}}{\sum\limits_{n = 1}^{m\quad \max}\quad e^{- \lambda_{n}^{2}}}$

[0122] where λ_(m) is the distance separating the point received fromthe point corresponding to the vector d^(m)(i).

[0123] Although certain embodiments of the invention have been depictedin the form of functional modules, it is clear that the device accordingto the invention can be implemented in the form of a processorprogrammed to execute the different functions illustrated or in the formof a plurality of dedicated processors able to implement one or more ofthese functions.

1. Method of detecting a plurality of symbols (d_(k)(i)) transmitted byor for a plurality K of users, each symbol belonging to a modulationconstellation and being the subject of a spectral spreading before beingmodulated on a plurality L of carriers, the said method comprising astep of demodulation (420) and a step of spectral despreading (430) ofthe received signal (r(i)) in order to supply a vector (y₂(i), {tildeover (y)}₂(i)) characteristic of the said signal, characterised in thatit comprises a step (450) of searching, within an array of points(Λ₂,Ω₂) generated by the symbols of the said modulation constellations,for at least the closest neighbour of the said vector.
 2. Detectionmethod according to claim 1, characterised in that the said search stepis limited to a set of points on the array belonging to a predeterminedarea around the said characteristic vector.
 3. Detection methodaccording to claim 1, characterised in that the said search step islimited to a set of points on the array belonging to a predeterminedarea around the origin of said array.
 4. Detection method according toclaim 2 or 3, characterised in that the said predetermined area is asphere.
 5. Detection method according to one of the preceding claims,characterised in that the transmitted symbols having been spreadspectrally by means of sequences with real values, the saidcharacteristic vector is decomposed into a first vector with realcomponents and a second vector with real components and in that thesearch step consists of determining the closest neighbour to the saidfirst vector and the said second vector within an array (Λ,Ω) of pointswith real coordinates of dimension K.
 6. Detection method according toone of claims 1 to 4, characterised in that, the said characteristicvector being considered to be a vector with real components of size 2.K,the said search step consists of determining the closest neighbourwithin an array (Λ₂,Ω₂) of points with real coordinates of dimension2.K.
 7. Detection method according to claim 6, characterised in that thesaid search step is implemented on a plurality of real components of thesaid characteristic vector, the search being limited for each of thesaid components to an interval defined by a lower bound and an upperbound, the said bounds being chosen so that the said interval does notinclude points relating to symbols which cannot belong to the modulationconstellation.
 8. Detection method according to one of the precedingclaims, characterised in that the spectral demodulation step is followedby a step of despreading and equalisation of the symbols obtained bydemodulation of the signal received at the different carriers, supplyinga vector (y₂(i)) of symbols equalised for the different users. 9.Detection method according to claim 8, characterised in that the saidcharacteristic vector ({tilde over (y)}₂(i)) is obtained from the vectorof equalised symbols by means of a matrix-type processing (440) aimed atsubstantially decorrelating the different noise components thereof. 10.Detection method according to one of the preceding claims, characterisedin that the said search step is extended to that of a set of adjacentpoints to the said characteristic vector and in that the transmittedsymbols are estimated flexibly from the symbols generating the saidadjacent points and the distances separating the said adjacent pointsfrom the received point.
 11. Device for detecting a plurality of symbols(d_(k)(i)) transmitted by or for a plurality K of users, each symbolbelonging to a modulation constellation and being the subject of aspectral spreading before being modulated on a plurality L of carriers,the device comprising means for implementing the method claimedaccording to one of the preceding claims.
 12. Receiver for an MC-CDMAmobile telecommunication system comprising a detection device accordingto claim 11.